package com.itheima.service.Impl.user;

import com.github.pagehelper.PageHelper;
import com.itheima.domain.Dept;
import com.itheima.domain.Question;
import com.itheima.domain.User;
import com.itheima.mapper.store.question.QuestionMapper;
import com.itheima.mapper.system.dept.DeptMapper;
import com.itheima.mapper.system.user.UserMapper;
import com.itheima.service.UserService;
import com.itheima.utils.IDutils;
import com.itheima.utils.MapperUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.SqlSession;

import java.util.List;

public class UserServiceImpl implements UserService {
    @Override
    public List<User> findAll(String page, String pageSize) {
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        int page11=1;
        int pageSize22=10;
        if(StringUtils.isNotBlank(page)){
            page11 = Integer.parseInt(page);
        }
        if (StringUtils.isNotBlank(pageSize)){
            pageSize22=Integer.parseInt(pageSize);
        }
        PageHelper.startPage(page11,pageSize22);
        List<User> list=  mapper.findAll();
        MapperUtil.close(session);

        return list;
    }

    @Override
    public List<Dept> findAll1() {

        SqlSession session = MapperUtil.getSession();
        DeptMapper mapper = session.getMapper(DeptMapper.class);

        List<Dept> list=  mapper.findAll();

        MapperUtil.close(session);
        return list;
    }

    @Override
    public void save(User user) {
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);

        user.setId(IDutils.getUUId());

        mapper.save(user);


        session.commit();
        MapperUtil.close(session);
    }

    @Override
    public User findById(String id) {
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);


       User user=mapper.findById(id);


        MapperUtil.close(session);

        return user;
    }

    @Override
    public void edit(User user) {
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);

        mapper.edit(user);

        session.commit();
        MapperUtil.close(session);
    }

    @Override
    public void delete(String id) {

        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);

        String[] split = id.split(",");
        mapper.delete(split);
        session.commit();
        MapperUtil.close(session);


    }
}
